package org.jsola.hr.vo;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Map;

/**
 * @author zhr
 */
@EqualsAndHashCode(callSuper = true)
@ApiModel(description = "【员工相关合同信息】列表展示对象")
@Data
public class EmpInfoContractVO extends EmpInfoVO {

	private static final long serialVersionUID = 1L;

	@ApiModelProperty(notes = "符合条件总数据数", example = "")
	private Integer dataCount;

	@ApiModelProperty(notes = "员工名字", example = "")
	private String empName;

	@ApiModelProperty(notes = "合同签署状态", example = "")
	private Integer status;

	@ApiModelProperty(notes = "合同签订日期", example = "")
	private Date contractSignDate;

	@ApiModelProperty(notes = "合同到期日期", example = "")
	private Date contractExpirationDate;

	@ApiModelProperty(notes = "合同到期天数", example = "")
	private Long contractExpirationDay;

	@ApiModelProperty(notes = "员工手机号", example = "")
	private String empPhone;

	@ApiModelProperty(notes = "员工ID", example = "")
	private String empId;

	@ApiModelProperty(notes = "用户ID", example = "")
	private String userId;

	@ApiModelProperty(notes = "证件类型", example = "")
	private String typeName;

	@ApiModelProperty(notes = "性别", example = "")
	private String genderName;

	@ApiModelProperty(notes = "公司名称", example = "")
	private String companyName;

	@ApiModelProperty(notes = "公司法人", example = "")
	private String legalPerson;

	@ApiModelProperty(notes = "公司联系人", example = "")
	private String contactPerson;

	@ApiModelProperty(notes = "公司地址", example = "")
	private String address;

	@ApiModelProperty(notes = "学历;1：小学，2：初中，3：中专，4：高中，5：大专，6：本科，7：硕士，8：博士，9：其他", example = "")
	private Integer education;

	@ApiModelProperty(notes = "学习形式")
	private String teaMethods;

	@ApiModelProperty(notes = "毕业证书编号")
	private String graCerNumber;

	@ApiModelProperty(notes = "学位类型（1：学士，2：硕士，3：博士，4：未获得学位）")
	private Integer degreeType;

	@ApiModelProperty(notes = "学位名称")
	private String degreeName;

	@ApiModelProperty(notes = "学位证书编号")
	private String degreeNumber;

	@ApiModelProperty(notes = "教育备注")
	private String educationRemark;

	@ApiModelProperty(notes = "毕业院校", example = "")
	private String graCollege;

	@ApiModelProperty(notes = "专业", example = "")
	private String major;

	@ApiModelProperty(notes = "入学时间", example = "")
	private Date eduStartTime;

	@ApiModelProperty(notes = "毕业时间", example = "")
	private Date eduEndTime;

	@ApiModelProperty(notes = "部门名称", example = "")
	private String depName;

	@ApiModelProperty(notes = "部门负责人", example = "")
	private String depLeader;

	@ApiModelProperty(notes = "岗位名称", example = "")
	private String positionName;

	@ApiModelProperty(notes = "合同编号", example = "")
	private String contractNumber;

	@ApiModelProperty(notes = "合同开始时间", example = "")
	private String contractStartTime;

	@ApiModelProperty(notes = "合同结束时间", example = "")
	private String contractEndTime;

	@ApiModelProperty(notes = "合同期限", example = "")
	private String contractExpire;

	@ApiModelProperty(notes = "合同类型", example = "")
	private String contractType;

	@ApiModelProperty(notes = "试用期", example = "")
	private String probationName;

	@ApiModelProperty(notes = "试用期开始日期", example = "")
	private Date probationStartTime;

	@ApiModelProperty(notes = "试用期结束日期", example = "")
	private Date probationEndTime;

	@ApiModelProperty(notes = "转正日期", example = "")
	private Date turnStraightDate;

	@ApiModelProperty(notes = "合同公司", example = "")
	private String contractCompany;

	@ApiModelProperty(notes = "工作内容", example = "")
	private String workContent;

	@ApiModelProperty(notes = "工作地点", example = "")
	private String workAddress;

	@ApiModelProperty(notes = "日工作小时数", example = "")
	private String workDayHours;

	@ApiModelProperty(notes = "家庭成员姓名", example = "")
	private String familyContact;

	@ApiModelProperty(notes = "家庭成员电话", example = "")
	private String familyPhone;

	@ApiModelProperty(notes = "家庭成员工作单位", example = "")
	private String familyLocation;

	@ApiModelProperty(notes = "家庭成员关系", example = "")
	private String familyRelation;

	@ApiModelProperty(notes = "紧急联系人姓名", example = "")
	private String emerContact;

	@ApiModelProperty(notes = "紧急联系人电话", example = "")
	private String emerPhone;

	@ApiModelProperty(notes = "紧急联系人地址", example = "")
	private String emerLocation;

	@ApiModelProperty(notes = "紧急联系人关系", example = "")
	private String emerRelation;

	@ApiModelProperty(notes = "签署确认时间", example = "")
	private String signConfirmDateReplace;


	//模板变量表
	@ApiModelProperty(notes = "模板变量MAP", example = "")
	private List<Map<String, Object>> conVariableMap = new ArrayList<>();
}
